Memory devices are electronic devices arranged to store electrical signals. For example, a basic memory element may be a fuse that can either be open or be closed. Open and closed states of the fuse may be used to designate one bit of information corresponding to a value of 1 or 0. A plurality of memory elements can be combined in various arrangements in order to store multiple bits arranged in words or other combinations. Various electronic circuits including semiconductor devices such as transistors are used as memory elements.
Memory elements may be classified in two main categories: volatile and nonvolatile. Volatile memory loses any data as soon as the system is turned off. Thus, it requires constant power to remain viable. Most types of random access memory (RAM) fall into this category. Non-volatile memory does not lose its data when the system or device is turned off. An NVM device may be implemented as a MOS transistor, as a One Time Programmable (OTP) fuse, as a Multiple Time Programmable (MTP) fuse, and the like.
A range of considerations including a purpose of the device, power consumption, size, retention capacity and duration may influence design of non-volatile memory devices. In NVM devices comprising OTP fuses, the elements are programmed destructively (e.g flowing a high current through the fuse such that the fuse transitions into an open state). Programming time for such devices may be long in order to pass enough current to force the fusing/anti-fusing action. Thus, programming time becomes a major expense in device performance.
Furthermore, improper programming is irrecoverable. Therefore, the lack of ability to confirm programming of an NVM device prior to final programming may increase cost of manufacturing such devices and impede their performance.